Discover gists
A pattern for building personal knowledge bases using LLMs.
This is an idea file, it is designed to be copy pasted to your own LLM Agent (e.g. OpenAI Codex, Claude Code, OpenCode / Pi, or etc.). Its goal is to communicate the high level idea, but your agent will build out the specifics in collaboration with you.
Most people's experience with LLMs and documents looks like RAG: you upload a collection of files, the LLM retrieves relevant chunks at query time, and generates an answer. This works, but the LLM is rediscovering knowledge from scratch on every question. There's no accumulation. Ask a subtle question that requires synthesizing five documents, and the LLM has to find and piece together the relevant fragments every time. Nothing is built up. NotebookLM, ChatGPT file uploads, and most RAG systems work this way.
| # ~/.config/starship.toml | |
| "$schema" = "https://starship.rs/config-schema.json" | |
| # NOTE: Emojis with variation selectors or unstable display widths may cause prompt rendering glitches. | |
| # Examples include βοΈ ποΈ ποΈ ποΈ βοΈ | |
| # If layout breaks, prefer colourful emojis without variation selectors. | |
| format = """ | |
| $username$hostname$directory$git_branch$git_commit$git_state$git_metrics$git_status$julia$python${custom.python_venv}$rust$typst$conda$direnv | |
| $character""" |
I was looking for a way to copy my "likes" in YouTube music over to a playlist, in the hopes of stopping YTM from losing songs I have liked. I found this script, but it didn't work for me, so I had to look for other solutions. In the end, this is what worked for me.
It's a small Python script that uses the YTMusic python library to copy tracks from my likes to a new playlist. I will try to outline the steps to run the script, but this will assume some familiarity with Python.
Hopefully this will work for others as well!
from ytmusicapi import YTMusic
yt = YTMusic('oauth.json')Previously, yarn was installed globally via npm i -g yarn or brew install yarn/choco install yarn and every project you are working on uses it to handle it's dependencies. yarn itself will installed in version 1, which is called "classic". If you update yarn in the version 1 branch over time, old projects could become not compatible anymore.
Here is "Modern yarn" kicking in, because it will be installed not globally, it will installed per project with corepack which is a tool from Node to handle different versions. Modern yarn starts from version 2 and is now 4.
Installed per project basis, you can operate your projects with different yarn versions independently β a huge benefit in terms of compatibiliy. But in order to so, you have to remove yarn globally and reinstall it with corepack.
| # /// script | |
| # requires-python = ">=3.14" | |
| # dependencies = ["pydantic-monty>=1"] | |
| # /// | |
| import time | |
| from pydantic_monty import Monty | |
| N = 10_000 |
See the following links for further updates to Github Desktop for Ubuntu. These are official instructions. (also mentioned by fetwar on Nov 3, 2023)
For the sake of "maintaining the tradition" here is the updated version.
I am developing this format for Clasp to replace our previous FASL formats, which are largely not under our control (e.g. they are ELF shared objects). The direct impetus is the desire to allow our Lisp VM to be targeted by cl:compile-file, but there are several broader design goals. Fundamentally, I would like to shoot for a real portable FASL format, that can be used for code interchange between different Lisp implementations running on different architectures. This is quite a ways off.
The format is vaguely based on Java classfiles, because the Java standards are some of the only standards for remotely dynamic languages I have found that are sufficiently clear, and because I think the Java "no crashing" design goal is something to aim for. The actual encoding of objects is very roughly based on conspack, which has similar speed and compactness goals as far as binary encoding goes.
In no particular order of priority.
